<?php
namespace app\admin\model;

use think\Model;

class Administrator extends Model
{
    /**
     * 获取列表
     * @param array $where 筛选条件
     * @return array|\PDOStatement|string|\think\Collection
     */
    public function getDetail($where=[]){
        //若不指定status
        if (!in_array('status', array_column($where, 0))){
            $where[] = ['status', '>=', 0];//默认获取有效的记录
        }
        //todo:数据分页
        return $this->where($where)->select();
    }

    /**
     * 获取（某条记录的）详情
     * @param $id
     * @param array $where
     * @return array|null|\PDOStatement|string|Model
     */
    public function getDetailById($id, $where=[]){
        $where[] = ['id', '=', $id];
        //若不指定status
        if (!in_array('status', array_column($where, 0))){
            $where[] = ['status', '>=', 0];//默认获取有效的记录
        }
        return $this->where($where)->find();
    }

    /**
     * （根据条件）检查记录是否已存在
     * @param $username
     * @return bool
     */
    public function checkExist($username){
        $result = $this->where('username', '=', $username)->find();
        return boolval($result);
    }

    /**
     * 修改记录的状态字段
     * @param $id
     * @param $status
     * @return false|int
     */
    public function changeStatus($id, $status){
        return $this->save(['status'=>$status], ['id'=>$id]);
    }

}